local voucherId = ARGS[1]
local userId = ARGS[2]


local stockKey = "seckill:stock:"..voucherId
local orderKey = "seckill:order:"..voucherId

--3.脚本业务
--3.1 判断库存是否充足
local stock = redis.call("get", stockKey)
if not stock or tonumber(stock)<=0  then
    --3.2 库存不足
    return 1
end
--3.3 判断用户是否重复下单
if(redis.call("sismember", orderKey, userId)==1) then
    --3.4 重复下单
    return 2
end

--3.5 扣减库存
 redis.call("incrby", stockKey, -1)
--3.6 下订单
redis.call("sadd", orderKey, userId)
return 0